/**
 * 
 * @author Bora SAYINER
 * @since Nov 30, 2014 1:40:09 PM
 * @version 1.0.0
 */
public class OutterClass {

	private AbstractShape rectangle = new AbstractShape() {
		
		@Override
		public void draw() {
			System.out.println("Rectangle drawed");
		}
	};
	private AbstractShape circle = new AbstractShape() {
		
		@Override
		public void draw() {
			System.out.println("Circle");
			
		}
	};
	
	public OutterClass() {
		System.out.println("Outter class");

		AbstractShape abstractShape = new AbstractShape() {

			@Override
			public void draw() {
			}
		};
		AbstractShape abstractShape2 = new AbstractShape() {

			@Override
			public void draw() {
			}
		};
	}

	public class InnerClass {

		public InnerClass() {
			System.out.println("Inner class");
		}
	}

	private int z;

	public void localClassMethod() {
		class Position {
			int x;
			int y;

			public Position() {
				x = z;
				testMethod();
			}

			@Override
			public String toString() {
				return "Position [x=" + x + ", y=" + y + "]";
			}

		}
		Position position = new Position();
		position.x = 10;
		position.y = 20;
		System.out.println(position);
	}

	private void testMethod() {

	}
}
